﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FluentValidation;
using STLGROUP.Layers.Common;

namespace STLGROUP.Layers.DataAccessLayers.Validators
{
    public class KM_GiamGiaHoaDonValidator : AbstractValidator<KM_GiamGiaHoaDon>
    {
        public KM_GiamGiaHoaDonValidator()
        {
            RuleFor(s => s.IDChuongTrinhKM).NotNull().WithMessage(Const.VALD_PROPERTY_KHONG_BO_TRONG).WithPropertyName("Chương trình khuyến mãi");
            RuleFor(s => s.GiaTriToiThieu).NotNull().WithMessage(Const.VALD_PROPERTY_KHONG_BO_TRONG).WithPropertyName("Giá trị tối thiểu");
            RuleFor(s => s.HeSoGiamGia).NotNull().WithMessage(Const.VALD_PROPERTY_KHONG_BO_TRONG).WithPropertyName("Hệ số giảm giá");           
            RuleFor(s => s.GiaTriToiThieu).Must(IsLonHonKhong).WithMessage(Const.VALD_PROPERTY_PHAI_LON_HON_KHONG).WithPropertyName("Giá trị tối thiểu");
            RuleFor(s => s.HeSoGiamGia).Must(IsLonHonKhong).WithMessage(Const.VALD_PROPERTY_PHAI_LON_HON_KHONG).WithPropertyName("Hệ số giảm giá");
        }

        private bool IsLonHonKhong(decimal? a)
        {
            return a > 0 ? true : false;
        }

        private bool IsLonHonKhong(double? a)
        {
            return a > 0 ? true : false;
        }
    }
}
